package org.zhang.shortlink.admin.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.zhang.shortlink.admin.dao.entity.GroupDO;
import org.zhang.shortlink.admin.dto.request.ShortLinkGroupSortReqDTO;
import org.zhang.shortlink.admin.dto.request.ShortLinkGroupUpdateReqDTO;
import org.zhang.shortlink.admin.dto.response.ShortLinkGroupRespDTO;

import java.util.List;

/**
 * 短链接分组接口层
 */
public interface GroupService extends IService<GroupDO> {
    /**
     * 用户注册后新增默认短链接分组
     * @param groupName
     */
    void saveGroup(String username,String groupName);

    /**
     * 新增短链接分组
     * @param groupName
     */
    void saveGroup(String groupName);

    /**
     * 查询用户短链接分组集合
     * @return
     */
    List<ShortLinkGroupRespDTO> listGroup();

    /**
     * 修改短链接分组
     */
    void updateGroup(ShortLinkGroupUpdateReqDTO shortLinkGroupUpdateReqDTO);

    /**
     * 删除短链接分组
     * @param gid
     */
    void deleteGroup(String gid);

    /**
     * 短链接排序功能
     * @param requsetParam
     */
    void sortGroup(List<ShortLinkGroupSortReqDTO> requsetParam);
}
